package com.gonsin.gmessage.annotations;

import com.gonsin.gmessage.annotations.enums.ZoomDescribe;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target(ElementType.METHOD)
public @interface GSender {

    /**
     * 发送的域说明
     */
    ZoomDescribe zoomDescribe() default ZoomDescribe.OTHER;

    /**
     * 该消息发送subCmd内容
     */
    String subCmd();

    /**
     * 该消息的文本说明
     * 会显示在接口文档上
     */
    String note();

    /**
     * 其他说明
     */
    String summary() default "";

    /**
     * MQTT发送默认质量
     */
    int qos() default 2;

    /**
     * MQTT v5新增特性，共享topic
     */
    boolean share() default false;

}
